import { createApp } from './app'

// context 就是 renderer.renderToString 的第一个参数
export default async context => {
  // 可以加载 import() 异步路由钩子函数或组件
  const { app, router, store} = createApp()
  const meta = app.$meta()
  router.push(context.url)
  context.meta = meta
  await new Promise(router.onReady.bind(router))

  context.rendered = ()=>{
    // 发送给客户端的页面包含了数据，window.__INITIAL_STATE__
    context.state = store.state
  }
  return app
}